package com.yunxin.admin.system.application;

import com.yunxin.admin.system.application.command.AddMenuCommand;
import com.yunxin.admin.system.application.command.UpdateMenuCommand;

/**
 * 菜单业务接口
 *
 * @author zero°
 * @since 2023-05-22
 */
public interface MenuApplicationService {

    /**
     * 新增菜单
     *
     * @param command command
     * @return boolean
     */
    boolean saveMenu(AddMenuCommand command);

    /**
     * 更新菜单
     *
     * @param command command
     * @return boolean
     */
    boolean updateMenu(UpdateMenuCommand command);

    /**
     * 修改菜单显示状态
     *
     * @param menuId  菜单ID
     * @param visible 是否显示(1->显示；2->隐藏)
     * @return boolean
     */
    boolean updateMenuVisible(Long menuId, Integer visible);

    /**
     * 删除菜单
     *
     * @param id id
     * @return boolean
     */
    boolean deleteMenu(Long id);
}
